Express.js のミドルウェアとエラーハンドリング
理解が曖昧なので調べたい
middleware の next() 後の処理
code:middleware.js
function(req, res, next) {
doBefore();
next();
doAfter();
}
レスポンス帰る前によばれるのを確認する
エラーでた場合 next() の後の処理呼ばれるかどうか
Promise handler が挟まった時おかしくならないか
doAfter でレスポンス書き換えたり(できそう)、非同期処理を待ってレスポンス返したい(うまく待てる?)
doAfter で例外でた時どうハンドルスべきか
async な middleware
エラーハンドリング middleware
4引数 (err, req, res, next) のミドルウェアを 最後に use する
ルーティング単位の場合は後で呼ぶ
code:err-handling.js
app.get(
"/some/endpoint",
(req, res) => { /* こんとろーら */ },
(err, req, res, next) => { ... }
)